function inserirReservasCheckbox(fieldset,reservas){
	if((typeof reservas != 'undefined') && (reservas.length > 0)){
	
		for(var indice = 0; indice<reservas.length; indice++){
			var reserva = reservas[indice];
			var reservaAula =  reserva['AULA'];
			var p = fieldset.find('input[type="checkbox"][value="'+reservaAula+'"]').closest('p');
			p.removeClass('livre');
			p.addClass('ocupado');
			p.empty();
			
			p.html(reserva['TURMA']+' '+reserva['PROFESSOR']);
			p.data("data",reserva['DIA']);
			p.data("professor",reserva['PROFESSOR']);
			p.data("turma",reserva['TURMA']);
			p.data("sala",reserva['SALA']);
			p.data("requisicao",(reserva['APLICATIVO'])? reserva['APLICATIVO'] : 'n&atilde;o');

			p.click(function() {
				var data = $.datepicker.parseDate("yy-mm-dd", p.data("data"));
				data = $.datepicker.formatDate( "dd/mm/yy", data);
				var mensagem = $('<div id="informacoesReserva"></div>');
				mensagem.append('<p>Informa&ccedil;&otilde;es da reserva</p>');
				mensagem.append('<p>Data: '+data+'</p>');
				mensagem.append('<p>Professor: '+p.data("professor")+'</p>');
				mensagem.append('<p>Turma: '+p.data("turma")+'</p>');
				mensagem.append('<p>Sala: '+p.data("sala")+'</p>');
				mensagem.append('<p>Novos aplicativos: '+p.data("requisicao")+'</p>');

				informacao(mensagem,'Dados da reserva');
			});
		}
	}
}

function construirCheckboxReserva (fieldset,dia){
	for(i=1;i<6;i++){
		var p = $('<p class="ui-widget-content livre"></p>');
		var inputCheckbox = $('<input type="checkbox" id="'+dia+''+i+'" name="'+dia+'" value="'+i+'">');
		var labelCheckbox = $('<label  for="'+dia+''+i+'">'+i+'&ordf; Aula</label>');
		
		p.append(inputCheckbox);
		p.append(labelCheckbox);
		
		fieldset.append(p);
	}
}
function criarFormularioReservaProfessor(turno,reservas){
	var formulario = $('<form id="formularioReserva'+turno+'"></form>');
	var dias = reservas.dias;
	var reservasTurno = reservas;
	
	if(turno == "Manha"){
		reservasTurno = reservasTurno.manha;  

	} else if(turno == "Tarde"){
		reservasTurno = reservasTurno.tarde;
	}
	var diaSemanaArray = ['segunda','terca','quarta','quinta','sexta'];
	
	for(indice=0;indice<diaSemanaArray.length;indice++){
		//Setando os valores iniciais do fieldset
		var fieldset = $('<fieldset class="tabelaReservas"></fieldset>');
		var legend = $('<legend></legend>');		
		var inputRadio = $('<input type="radio" name="dia" id="'+dias[indice].data+'">');
		var label = $('<label for="'+dias[indice].data+'">'+dias[indice].abreviacao+'</label>');
		
		construirCheckboxReserva(fieldset,diaSemanaArray[indice]);
		
		inserirReservasCheckbox(fieldset,reservasTurno[indice]);
		
		if(dias[indice].passado){
			fieldset.addClass('passado');
			fieldset.find('input[type="checkbox"]').remove();
			legend.append(label);
		} else {
			legend.append(inputRadio);
			legend.append(label);
		}
		fieldset.append(legend);
		formulario.append(fieldset);
	}
	return formulario;	
}



function inserirTabelaReservasProfessor(reservas){
	carregando('Carregando Interface das reservas...');
	
	var formularioManha = criarFormularioReservaProfessor('Manha',reservas);
	var formularioTarde = criarFormularioReservaProfessor('Tarde',reservas);
	
	$('#reservasManha').empty();
	$('#reservasTarde').empty();
	$('#reservasManha').append(formularioManha);
	$('#reservasTarde').append(formularioTarde);
	
	//interface_visao.js
	iniciarWidgets();
	
	//reserva_visao.js
	iniciarWidgetsReserva();
	
	carregado();
}

function inserirTabelaReservasNormal(reservas){
	carregando('Carregando Interface das reservas...');
	
	var formularioManha = criarFormularioReservaProfessor('Manha',reservas);
	var formularioTarde = criarFormularioReservaProfessor('Tarde',reservas);
	
	$('#reservasManha').empty();
	$('#reservasTarde').empty();
	$('#reservasManha').append(formularioManha);
	$('#reservasTarde').append(formularioTarde);
	$('input[type="checkbox"]').remove();
	$('input[type="radio"]').remove();
	$('.livre').css('padding','5px 0px 5px 3px');
	$('.tabelaReservas legend').css('padding','5px 0px 5px 3px');
	
	//interface_visao.js
	iniciarWidgets();
	
	//reserva_visao.js
	iniciarWidgetsReserva();
	$(".tabelaReservas").fadeTo("fast",1);
	carregado();
}

function carregarReservasProfessor(data){
	data = (data)? data : 'NOW()';
	$.ajax({
		type : "POST",
		url : "visao/reserva_visao.class.php",
		data : {
			'operacao' : 'reservas',
			'data' : data
		},
		dataType : "json",
		success : function(response) {
			if(response.sucesso){
				inserirTabelaReservasProfessor(response);
			} else if(response.erro){
				erro(response.mensagem);
			}				
		},
		beforeSend: function(){
			carregando('Carregando reservas...');
		},
		complete: function(){
			carregado();
		}
	});
}
function carregarReservasNormal(data){
	data = (data)? data : 'NOW()';
	$.ajax({
		type : "POST",
		url : "visao/reserva_visao.class.php",
		data : {
			'operacao' : 'reservas',
			'data' : data
		},
		dataType : "json",
		success : function(response) {
			if(response.sucesso){
				inserirTabelaReservasNormal(response);
			} else if(response.erro){
				erro(response.mensagem);
			}				
		},
		beforeSend: function(){
			carregando('Carregando reservas...');
		},
		complete: function(){
			carregado();
		}
	});
}
//Funcao que envia um e-mail para os administradores
function enviarPedidoManual(){
	var mensagem = $('#pedidoManualMensagem').val();
	$.ajax({
		type : "POST",
		url : "visao/reserva_visao.class.php",
		data : {
			'operacao' : 'manual',
			'mensagem' : mensagem
		},
		dataType : "json",
		success : function(response) {
			if(response.sucesso){
				informacao(response.mensagem);							
			} else if(response.erro){
				erro(response.mensagem);
			}				
		},
		beforeSend: function(){
			carregando('Enviando Mensagem...');
		},
		complete: function(){
			carregado();
		}
	});		 
}

//Funcao que habilita ou nao o botao de confirmacao de reserva.
//Tambem ativa a marcacao em azul dos checkboxes selecionados.
function checarReserva(){
	$('#botaoConfirmarReserva').removeClass('botaoFuncionando');
	$('#botaoConfirmarReserva').button( "disable" );
	
	$('.livre').find('input[type="checkbox"]').each(function(){  
		if($(this).is(":checked")){
			$(this).closest('p').addClass("ui-selected");
			$('#botaoConfirmarReserva').addClass('botaoFuncionando');
			$('#botaoConfirmarReserva').button( "enable" );
		} else {
			$(this).closest('p').removeClass("ui-selected");         
		}   
	});
}
//Funcao que cria a reserva
function criarReserva(){
	var fieldset = $('#confirmarReserva').find('fieldset:first');
	
	var turno = $(".tabelaReservas input[type='radio']:checked").closest('form').attr('id');
	var data = $(".tabelaReservas input[type='radio']:checked").attr('id');
	var fbidProfessor = fieldset.find('#selectProfessor').val();
	var turma = fieldset.find('#autoCompleteTurma').val();
	var sala = fieldset.find('#autoCompleteSala').val();
	var aplicativo = fieldset.find('#instalarPrograma').val();	
	var aulasEscolhidas = aulasEscolhidasArray();

	if (turno == 'formularioReservaManha'){
		turno = '1';
	} else if (turno == 'formularioReservaTarde') {
		turno = '2';
	} else {
		turno = '';
	}
	
	$.ajax({
		type : "POST",
		url : "visao/reserva_visao.class.php",
		data : {
			'operacao' : 'criar',
			'turno' : turno,
			'data' : data,
			'fbid' : fbidProfessor,
			'turma' : turma,
			'sala' : sala,
			'aplicativo' : aplicativo,
			'aulas' : aulasEscolhidas
			
		},
		dataType : "json",
		success : function(response) {
			if(response.sucesso){
				informacao(response.mensagem,'Reserva criada com sucesso!');
				carregarReservasProfessor(response.dataCriacao);
			} else if(response.erro){
				informacao(response.mensagem);
			}				
		},
		beforeSend: function(){
			carregando('Carregando reservas...');
		},
		complete: function(){
			carregado();
		}
	});

	}
function aulasEscolhidasArray(){
	var fieldsetAulas = $(".tabelaReservas input[type='radio']:checked").closest('fieldset');
	
	var aulas = [];
	fieldsetAulas.find('input[type="checkbox"]:checked').each(
			function() { 
				aulas.push($(this).attr("value"));
	});
	
	return aulas;
}
function carregarSelectPedidoReserva (){
	$.ajax({
		type : "POST",
		url : "visao/reserva_visao.class.php",
		data : {
			'operacao' : 'dadosEnvio'
		},
		dataType : "json",
		success : function(response) {
			if(response.sucesso){
				$.map( response.professores, function(valor, indice) {
					var fbid = valor['FACEBOOKID'];
					var option = $('<option value="'+fbid+'">');
					option.append(valor['NOME']+' '+valor['SOBRENOME']);
					$('#selectProfessor').append(option);
				});
				
				var salas = new Array();
				
				for(var indice = 0; indice < response.salas.length; indice++){					
					salas.push(response.salas[indice]['SALA']);
				}
				
			    $( "#autoCompleteSala" ).autocomplete({
			        source: salas
			    });	
		
			    var turmas = new Array();
				
				for(var indice = 0; indice < response.turmas.length; indice++){					
					turmas.push(response.turmas[indice]['TURMA']);
				}
				
			    $( "#autoCompleteTurma" ).autocomplete({
			        source: turmas
			    });	
			    
			} else if(response.erro){
				erro(response.mensagem);
			}				
		},
		beforeSend: function(){
			carregando('Carregando Reservas...');
		},
		complete: function(){
			carregado();
		}
	});	
}